

#include <algorithm>
#include <iterator>
#include <iostream>
#include <boost/concept/requires.hpp>
#include <boost/concept_check.hpp>

namespace sthr
{  
  /*template<typename T>
  BOOST_CONCEPT_REQUIRES( 
      ((Mutable_RandomAccessIterator<T>))
      ((LessThanComparable<typename Mutable_RandomAccessIterator<T>::value_type>)),
      (void))
  flashsort(T first, T last, float expectedClassSize = 2)
  {    
    //int size = (last - first) / sizeof(*last);
    //int m = 0;
    
  }*/
  template<typename RanIter>
BOOST_CONCEPT_REQUIRES(
    ((Mutable_RandomAccessIterator<RanIter>))
    ((LessThanComparable<typename Mutable_RandomAccessIterator<RanIter>::value_type>)),
    (void)) // return type
    stable_sort(RanIter,RanIter);
}
